"6.5 【上下文类】Context 大模型回调服务端开发"
from mcp import SamplingMessage
from mcp.server.fastmcp import FastMCP, Context
from mcp.types import TextContent

mcp = FastMCP("大模型 MCP Server")

@mcp.tool()
#回调大模型
async def sampling_model_tool(ctx:Context):
    """
    调用大模型
    :param ctx: 上下文对象，无需客户端传递
    :return str:
    """
    print(" *** 调用了sampling_model_tool ===")
    response = await ctx.session.create_message(
        messages=[
         SamplingMessage(
             role="user",
             content=TextContent(text="帮我写一个小学生放假通知书", type="text"),
          )
        ],max_tokens=1024
    )
    #打印出大模型的返回结果
    print("=====大模型返回结果：\n",response)
    return "调用大模型完成"


if __name__ == "__main__":
    #声明使用stdio传输协议,默认是sse协议
    mcp.run(transport="sse")